True interactivity is now being brought to an inherently static medium;
what are the implications for users and developers?
What is Java, and how is it changing the face of the Web?
Java is an object-oriented, multi-threaded, partially interpreted full-service language developed by Sun Microsystems. It is portable, making it an excellent choice for standalone applications, but we are going to focus today on Java's integration with the World Wide Web. It is making its debut on the Web in the form of mini-applications, called applets, which are downloaded as portable byte codes, then interpreted and displayed on the client machine. This requires a Java-enabled browser; a browser that has the Java interpreter built in. Sun had produced a browser called HotJava for the Alpha3 release, and they are now working on a HotJava for the new pre-Beta version. Netscape announced some time ago that they had plans to incorporate the Java interpreter into the 2.0 version, and that version in now out in Beta. We will be talking about availability of Java-enabled browsers toward the end of this meeting.
What is the scope of applets?....
Java moves the focus of interactivity away from the Web server and onto the Web client. A Java-enabled browser client can dynamically download segments of code that are executed right there on the client machine. Such Java-based "applets" (mini-applications) can provide full animation, play sound, provide nice user interfaces to applications, and generally interact with the user in real time.
Why is Java likely to make a real market for itself?
Why programmers will like Java
The Java distribution comes with a fairly extensive API. There are classes to fetch URL's and images, handle IO, deal with sockets and basic networking, and, most importantly, an abstract window toolkit package. This tookit includes pre-defined GUI components such as buttons and scrollable textareas, and and standards for producing a layout. These classes make it relatively easy to develop nice user interfaces in less time than other tools might take. Although Java is relatively undocumented at this point, Sun is working very hard to produce better documentation, an online programmers' manual, and a series of books. I will step through an overview of the language features in a few minutes.
Why designers will like Java
You don't have to be a programmer to incorporate Java into your Web site. Java applets can take parameters, and these values are passed via the HTML code.
[Example of parameter passing...]
A designer with enough sophistication to author HTML can easily use pre-compiled applets to achieve very nice effects. There are a few of this type of generalized pre-Beta classes currently in the public domain, and many more should be released over the course of the next few months. I expect to see quite a few applets on the Web that are of this variety, and the most common types will probably be animations, in-line audio loops, special text effects, and customized imagemaps. Mike Thomas, a Computer Science student here at UNC, has developed a generalized, configurable, animated imagemap. Here is where you can get it...
Why end users will like Java
Lots of bells and whistles and a whole new level of interactivity! The demos we will show in a few minutes are the best case for why users will like Java.
One reason is ease of use : Java applets are run in-line with Sun's HotJava browser and Netscape version 2.0 on platforms that support the java interpreter. This means that users don't have to locate and install a helper application in order to view applets.
One thing to keep in mind is that Java is new, and the pre-Beta version (the one that works with Netscape 2.0) is even newer. Only a few pre-Beta applets have been released so far, so there are a lot of possibilities that will be played out over the next few months. Java opens up a whole new world of possibilites that no one has thought of yet. There is a small but growing community of people who have started developing in java during these early stages. I am personally very excited to be a part of it and I am very interested in watching how Java makes the transition from it's Web debut to mainstram acceptance. What kinds of applets will we start seeing? Will they be simple animations, or a real push toward transforming the Web into a a truly interactive distributed computing environment? I attended a conference on Java hosted by Sun in NY last month, I left with the distinct impression that Sun thinks it will be the latter.
Java is not meant to be a CGI scripting language...
The CGI specification arose as a way to bring a minimal level of interactivity to an otherwise static medium. It is important to remember that the HTTP protocol and HTML specification were designed to display documents and images in a consistently formatted way across platforms. The current level of interactivity on the Web was added later. Until Java, all processing by CGI scripts has been by definition preformed on the server side, with the results sent back to the client in the form of static HTML-formatted text and images. Clever results have been accomplished using CGI, but the possibilities are limited.
An Example
[Show the Poetry game and discuss the CGI implementation vs. the Java implementation.]
ΓÇóIt is not the same type of tool as the CGI specification. MORE... ΓÇóIt will not replace Perl for forms processing. ΓÇóIt will replace server pushed animation, graphical hacks, and some computation-intensive processing.